package cn.itsub.sodo.audio;

import java.util.Map;

import cn.itsub.sodo.util.FileUtil;


public class SoundEngine {
	//背景音乐
	private Sound background = null;
	
	/* --------- 播放与停止 ---------- */
	//播放背景音乐，loop表示是否要循环播放
	public void playBackgroundMusic(String assetsPath, boolean loop){
		background = new Sound();
		background.init(assetsPath);
		background.loop(loop? 0:1);
	}
	//停止背景音乐
	public void stopBackgroundMusic(boolean bReleaseData){
		if(background!=null){
			background.stop();
		}
	}
	//播放音效，loop表示是否要循环播放
	public void playEffect(String filePath, boolean loop, float gain){
		Sound so = new Sound();
		so.init(FileUtil.assetsUrl(filePath));
		so.start();
	}
	//停止指定音效，nSoundId为音效编号
	public void stopEffect(int nSoundId){
		
	}
	//停止指定音效，nSoundId为音效编号
	public void stopAllEffects(){
		//停止所有音效
	}
	/* --------- 暂停与恢复 ---------- */
	//暂停背景音乐
	public void pauseBackgroundMusic(){
		background.stop();
	}
	//暂停指定音效，nSoundId为音效编号
	public void pauseEffect(int nSoundId){
		
	}
	//暂停所以音效
	public void pauseAllEffects(){
		
	}
	//恢复背景音乐
	public void resumeBackgroundMusic(){
		background.start();
	}
	//恢复指定音效，nSoundId为音效编号
	public void resumeEffect(int nSoundId){
		
	}
	//恢复所有音效
	public void resumeAllEffects(){
		
	}
	/* --------- 其他操作 ---------- */
	//设置背景音乐音量:1-200
	public void setBackgroundMusicVolume(float volume){
		background.setGain(volume);
	}
	//设置音效音量
	public void setEffectsVolume(float volume){
		
	}
	//重新播放背景音乐
	public void rewindBackgroundMusic(){
		background.setPosition(1);
		background.start();
	}
	//返回一个值，表示是否在播放背景音乐
	public boolean isBackgroundMusicPlaying(){
		
		return false;
	}
	
	private static SoundEngine only = new SoundEngine();
	public static SoundEngine getInstance(){
		return only;
	}
}
